package com.cql.common.core.DTO;

import lombok.Data;

import javax.validation.constraints.*;
import java.io.Serializable;


/**
 * @author cql
 */
@Data
public class RegisterDTO implements Serializable {

    /**
     * 用户账号：10~20位纯数字
     */
    @NotBlank
    @Pattern(regexp = "^\\d{10,20}\\d$", message = "10~20位纯数字")
    private String account;

    /**
     * 用户密码：长度至少为8，至少含有一个字母和一个数字
     */
    @NotBlank
    @Pattern(regexp = "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$", message = "长度至少为8，至少含有一个字母和一个数字")
    private String password;

    /**
     * 验证码uuid
     */
    @NotBlank
    private String uuid;

    /**
     * 验证码
     */
    @NotBlank(message = "请输入验证码")
    private String code;

    /**
     * 用户选择的角色
     */
    @NotNull(message = "请选择您的角色")
    @Min(value = 1, message = "角色不合法,请重新选择")
    @Max(value = 3, message = "角色不合法,请重新选择")
    private Long role;

}
